Subscribing to Progress Indicator Treshold

ABSTRACT

Methods and apparatus, including computer program products, implementing and using techniques for providing a notification to a user about the progress of a task running on a digital processing device. A user input identifying a progress indicator for the task running on the digital processing device is received. A user input selecting a threshold value is received. The threshold value indicates a point on the progress indicator at which the user is to be notified about the progress of the task. A notification is provided to the user when the threshold value is reached.

BACKGROUND

This invention relates to installing and using desktop and webapplications on different types of electronic devices. Sometimes a taskrunning within a program on an electronic device, such as a computer, apersonal digital assistant (PDA), a cellular telephone, a televisionset, and so on, might take a while to complete. Examples of common suchtasks include downloading a file, installing a program component, ortransferring a file. A user-friendly program typically provides someindication to the user that the task is occurring, how long the taskmight take, and how much work has already been done. One way ofindicating that work is being done, and to indicate the amount ofprogress, is to use an animated image known as a progress bar.

The progress bar can be formally described as a component in a graphicaluser interface, and is used to convey the progress of a task, such as adownload or file transfer. Often the graphic is accompanied by a textualrepresentation of the progress, typically in a percentage format, whichcan indicate how far along the installation or download has proceeded,such as “53% done”, or something similar. FIG. 1 shows some examples ofprogress indicators.

When a user must wait a large period of time for a progress indicator tocomplete, she often would like to perform a different task or activitywhile she is waiting. For example, a user may go have lunch while theywait for a file to download from the web. Unfortunately, when the useris away from her computer, there is no notification mechanism to let herknow when the download or installation is complete or when a particularpoint in the installation or download has been reached.

SUMMARY

In general, in one aspect, the invention provides methods and apparatus,including computer program products, implementing and using techniquesfor providing a notification to a user about the progress of a taskrunning on a digital processing device. A user input identifying aprogress indicator for the task running on the digital processing deviceis received. A user input selecting a threshold value is received. Thethreshold value indicates a point on the progress indicator at which theuser is to be notified about the progress of the task. A notification isprovided to the user when the threshold value is reached.

The invention can be implemented to include one or more of the followingadvantages. A user can be notified about the progress of one or moretasks, such as, when a task is completed or when the task reaches one ormore preset threshold values, even when the user is not present at thecomputer at which the task is occurring. This can free up significantamounts of time for the user to do other things while waiting for thetask to complete and allow the user to multi-task. Furthermore, insteadof (or in addition to) notifying a user, various system events, such asdownloading or installing a different application, can be triggered whenthe task is completed or has reached the preset value defined by theuser.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features andadvantages of the invention will be apparent from the description anddrawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 shows a prior art illustration of some exemplary progress barsthat are used by current various applications to indicate progress of atask.

FIG. 2 is a flowchart showing a process for providing a notification toa user about the progress of a task, in accordance with one embodimentof the invention.

FIG. 3 is a screenshot of a user interface allowing a user to define oneor more thresholds for notification about the progress of a task, inaccordance with one embodiment of the invention.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

The various embodiments of this invention is prospective inventionprovides a generic user interface for the user to define an area of thescreen as a progress indicator. A threshold is defined by the user. Whenthis threshold is reached, a notification can be sent by SMS, email,instant message, and the like. For example, consider Alice who juststarted installing a middleware product on her computer. She realizesthat the current progress indicator will take at least an hour tocomplete, so she decides to visit the company library. Before leaving,she defines an area of the computer screen that is the progressindicator for the software install. She also specifies that she shouldbe notified by SMS when the progress indicator gets to 90%. Alice goesto the library. Seventy minutes later, she gets a text message on herphone that the install is 90% complete, so she heads back to her office.

The invention will be described below in further detail by way ofexample and with reference to a single task indicated by a single taskbar. However, as the skilled person in the art realizes, any number oftasks can be simultaneously monitored in a similar manner, so thevarious embodiments of the invention is not limited to a single task.

As shown in FIG. 2, a process for providing a notification to a userabout the progress of a task, in accordance with one embodiment of theinvention, starts by receiving a user input defining a progress bar tobe tracked (step 202). This can be done in a number of ways. In oneimplementation, the progress bar is identified by the user drawing aframe around the progress bar, using a drag-and-drop interface. Inanother implementation, the user simply clicks somewhere on the progressbar. In yet other implementations, the user can set a preference, beforethe actual download begins, as to when to be notified. This can be done,for example, through a drop-down menu or any other suitable userinterface element for setting preferences, as is known to those ofordinary skill in the art. The progress bar can be located anywhere onthe screen. FIG. 3 shows an example of a progress bar (302), which has apercentage value (304) (in this case 66%) showing how much of the taskhas been completed. As can be seen in FIG. 3, a user has identified theprogress bar (302) by drawing a frame (306) around the progress bar.

Next, a user input is received selecting a color of the progress bar anda color of the background (step 204). This is done to allow the processto distinguish the progress bar from the background, and thereby todistinguish completed progress from pending progress and to tell thesystem when a threshold is reached.

After selecting a color of the progress bar, the process receives a userinput selecting a threshold for notification (step 206). As can be seenin FIG. 3, in one implementation the threshold is selected by the userdrawing a line (308) across the progress bar (302) at a point where theuser would like to be notified. Assuming, for example, that a blueprogress bar on a gray background was defined in step 204 above. Afterhaving defined the line (308) in step 206, the process knows that whenthe blue color reaches the line (308), a notification should be sent tothe user. As can be seen in FIG. 3, the location of the line (308)corresponds to approximately when 80% of the task is done. In otherimplementations, the user can provide a numerical value, for example,90%, in a frame similar to the progress value frame (304) in order toindicate when a notification should occur.

Next, the process receives a user input selecting a notification type(step 208). The user selects any of a number of notification methodsthat are known to those of ordinary skill in the art, such as SMS,email, page, phone call, and so on. In some implementations, the user'spreferences can be saved so that the user does not have to select thenotification type every time the process is run, whereas in otherapplications, the user is requested to enter the notification method andthe corresponding email address, SMS address or telephone number forevery desired notification.

Finally, the process tracks the progress bar and when the selectedthreshold is reached, the process notifies the user using the selectednotification method (step 210), which ends the process.

As the skilled person realizes, the various embodiments of the inventioncan be implemented in a variety of ways. For example, the process can beimplemented separately in each application that presents a progress bar.Alternatively, the process can also be implemented as a part of anoperating system, so that the user can simply click the right button ofhis mouse on a progress bar and get the option of subscribing to aprogress indicator threshold. In yet another alternative, the progressindicator subscription process can be implemented as part of a graphicaluser interface toolkit (e.g., a toolbar to be installed in a webbrowser). The various implementations of the invention described hereincan be utilized essentially in every situation where there is a need fora user to be notified when a task has been completed.

In some embodiments, when multiple tasks (e.g., tasks A, B and C) areunderway, the user can set notifications to occur, for example, whenboth task A and task B have reached 80% of being complete, or when taskA and task Be are complete and task C has reached 90%, or any otherpossible combination of tasks and threshold values.

The invention can take the form of an entirely hardware embodiment, anentirely software embodiment or an embodiment containing both hardwareand software elements. In a preferred embodiment, the invention isimplemented in software, which includes but is not limited to firmware,resident software, microcode, etc.

Furthermore, the invention can take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer readable medium can be any apparatus thatcan contain, store, communicate, propagate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device.

The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk and an optical disk. Current examples of opticaldisks include compact disk-read only memory (CD-ROM), compactdisk-read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Input/output or I/O devices (including but not limited to keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening I/O controllers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modem and Ethernet cards are just a few of thecurrently available types of network adapters.

A number of implementations of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention. Forexample, the above example has focused on how to notify a single user,but it should be clear that any number of users could be notified usingany variation of the above communication means. The progress bar hasbeen described with reference to a particular color selected by a user,but it should be clear that any other type of indication could be usedin alternative embodiments, such as a particular pattern selected by auser. The progress indicator does not have to be a rectangular progressbar, but can be any type of visual indicator capable of indicatingproportional progress, such as a pie chart progress indicator, forexample.

More then one threshold can also be set, so that the user receives afirst notification, for example, when 50% of the task is done, and asecond notification, for example, when 90% of the task is done. Thevarious embodiments described above have been described in the contextof a computer, but it should be clear that the same principles can beapplied to any other type of digital processing device capable ofrunning applications, such as a personal digital assistant (PDA),cellular telephone, television set, and so on.

The principles described above can be applied to any task that has anassociated wait time, and for which the user wishes to be notified whena specific amount of time has passed or the task has reached apredefined state. In some implementations, other events can be triggeredinstead of, or in addition to, a user notification. For example, in somecases it may be desirable to start a second download after a firstdownload has completed or almost completed, so the user may define othersuch tasks as a result of a task being completed. Accordingly, otherembodiments are within the scope of the following claims.

1. A computer-implemented method for providing a notification to a userabout the progress of a task running on a digital processing device, themethod comprising: receiving a user input identifying a progressindicator for the task running on the digital processing device;receiving a user input selecting a threshold value, the threshold valueindicating a point on the progress indicator at which the user is to benotified about the progress of the task; and providing a notification tothe user when the threshold value is reached.
 2. The method of claim 1,wherein the task is selected from one or more of: downloading a file,installing a software program component, transferring a file, andloading a file.
 3. The method of claim 1, wherein the progress indicatoris selected from one or more of: a progress bar and a numericalindication specifying an amount of progress.
 4. The method of claim 1,wherein receiving a user input identifying a progress indicatorincludes: receiving a user input defining a frame around the progressindicator.
 5. The method of claim 1, wherein receiving a user inputselecting a threshold value includes one or more of: graphicallyindicating on the progress indicator at what point a notification is tobe issued, and inputting a number specifying a percentage of a completedtask at which a notification is to be issued.
 6. The method of claim 1,further comprising: receiving a user input indicating a color of theprogress indicator.
 7. The method of claim 1, wherein providing anotification to the user includes notifying the user using one or moreof the following notification methods: SMS, email, page, instantmessage, and a telephone call.
 8. The method of claim 1, furthercomprising: receiving a user input selecting one or more notificationtypes to be used when notifying the user that the threshold value hasbeen reached.
 9. The method of claim 1, further comprising: receiving anadditional user input selecting a second threshold value, the secondthreshold value indicating a point on the progress indicator at whichthe user is to receive an additional notification about the progress ofthe task; and providing an additional notification to the user when thesecond threshold value is reached.
 10. The method of claim 1, furthercomprising: receiving a user input identifying a progress indicator fora second task running on the digital processing device; receiving a userinput selecting a threshold value for the second task, the thresholdvalue for the second task indicating a point on the progress indicatorat which the user is to be notified about the progress of the secondtask; and providing a notification to the user when both the thresholdvalue for the first task and the threshold value for the second taskhave been reached.
 11. A computer program product comprising a computeruseable medium including a computer readable program, wherein thecomputer readable program when executed on a computer causes thecomputer to: receive a user input identifying a progress indicator forthe task running on the digital processing device; receive a user inputselecting a threshold value, the threshold value indicating a point onthe progress indicator at which the user is to be notified about theprogress of the task; and provide a notification to the user when thethreshold value is reached.
 12. The computer program product of claim11, wherein the task is selected from one or more of: downloading afile, installing a software program component, transferring a file, andloading a file.
 13. The computer program product of claim 11, whereinthe progress indicator is selected from one or more of: a progress barand a numerical indication specifying an amount of progress.
 14. Thecomputer program product of claim 11, wherein receiving a user inputidentifying a progress indicator includes: receiving a user inputdefining a frame around the progress indicator.
 15. The computer programproduct of claim 11, wherein receiving a user input selecting athreshold value includes one or more of: graphically indicating on theprogress indicator at what point a notification is to be issued, andinputting a number specifying a percentage of a completed task at whicha notification is to be issued.
 16. The computer program product ofclaim 11, wherein the computer readable program when executed on acomputer further causes the computer to: receive a user input indicatinga color of the progress indicator.
 17. The computer program product ofclaim 11, wherein providing a notification to the user includesnotifying the user using one or more of the following notificationmethods: SMS, email, page, instant message, and a telephone call. 18.The computer program product of claim 11, wherein the computer readableprogram when executed on a computer further causes the computer to:receive a user input selecting one or more notification types to be usedwhen notifying the user that the threshold value has been reached. 19.The computer program product of claim 11, wherein the computer readableprogram when executed on a computer further causes the computer to:receive an additional user input selecting a second threshold value, thesecond threshold value indicating a point on the progress indicator atwhich the user is to receive an additional notification about theprogress of the task; and provide an additional notification to the userwhen the second threshold value is reached.
 20. The computer programproduct of claim 11, wherein the computer readable program when executedon a computer further causes the computer to: receive a user inputidentifying a progress indicator for a second task running on thedigital processing device; receive a user input selecting a thresholdvalue for the second task, the threshold value for the second taskindicating a point on the progress indicator at which the user is to benotified about the progress of the second task; and provide anotification to the user when both the threshold value for the firsttask and the threshold value for the second task have been reached. 21.A system for providing a notification to a user about the progress of atask running on a digital processing device, comprising: means forreceiving a user input identifying a progress indicator for the taskrunning on the digital processing device; means for receiving a userinput selecting a threshold value, the threshold value indicating apoint on the progress indicator at which the user is to be notifiedabout the progress of the task; and means for providing a notificationto the user when the threshold value is reached.
 22. The system of claim21, wherein the task is selected from one or more of: downloading afile, installing a software program component, transferring a file, andloading a file.
 23. The system of claim 21, wherein the progressindicator is selected from one or more of: a progress bar and anumerical indication specifying an amount of progress.
 24. The system ofclaim 21, wherein the means for receiving a user input identifying aprogress indicator includes: means for receiving a user input defining aframe around the progress indicator.
 25. The system of claim 21, whereinthe means for receiving a user input selecting a threshold valueincludes one or more of: means for graphically indicating on theprogress indicator at what point a notification is to be issued, andmeans for inputting a number specifying a percentage of a completed taskat which a notification is to be issued.
 26. The system of claim 21,further comprising: means for receiving a user input indicating a colorof the progress indicator.
 27. The system of claim 21, wherein the meansfor providing a notification to the user includes means for notifyingthe user using one or more of the following notification methods: SMS,email, page, instant message, and a telephone call.
 28. The system ofclaim 21, further comprising: means for receiving a user input selectingone or more notification types to be used when notifying the user thatthe threshold value has been reached.
 29. The system of claim 21,further comprising: means for receiving an additional user inputselecting a second threshold value, the second threshold valueindicating a point on the progress indicator at which the user is toreceive an additional notification about the progress of the task; andmeans for providing an additional notification to the user when thesecond threshold value is reached.
 30. The system of claim 21, furthercomprising: means for receiving a user input identifying a progressindicator for a second task running on the digital processing device;means for receiving a user input selecting a threshold value for thesecond task, the threshold value for the second task indicating a pointon the progress indicator at which the user is to be notified about theprogress of the second task; and means for providing a notification tothe user when both the threshold value for the first task and thethreshold value for the second task have been reached.